package com.todo.biz.iface.frontend;

import com.todo.biz.iface.frontend.request.*;
import com.todo.biz.iface.frontend.response.CollectBusinessDataVO;
import com.todo.biz.iface.frontend.response.LikeBusinessDataVO;
import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;

/**
 * @author azhebuxing
 * @date 2024/5/10 15:39
 * @description
 */
public interface AssociateFrontendIface {

    /**
     * 点赞
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> likeBusinessData(LikeBusinessDataParam param);

    /**
     * 收藏
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> collectBusinessData(CollectBusinessDataParam param);

    /**
     * 删除点赞信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> removeLikeData(RemoveLikeDataParam param);

    /**
     * 删除收藏信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> removeCollectData(RemoveCollectDataParam param);

    /**
     * 查询用户点赞列表
     * 注：查询细节不存在的数据如何展示
     *
     * @param param
     * @return
     */
    BizPageResponse<LikeBusinessDataVO> queryLikeBusinessData(QueryLikeBusinessDataParam param);

    /**
     * 查询用户收藏列表
     *
     * @param param
     * @return
     */
    BizPageResponse<CollectBusinessDataVO> queryCollectBusinessData(QueryCollectBusinessDataParam param);

}
